package com.xinggq.pay.service.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 回调重试日志实体
 * @author xinggq
 * @since 2025/9/16
 */
@Data
@TableName("callback_retry_log")
public class CallbackRetryLogEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 支付单编号
     */
    @TableField("trade_no")
    private String tradeNo;

    /**
     * 支付单编号
     */
    @TableField("merchant_out_trade_no")
    private String merchantOutTradeNo;

    /**
     * 应用ID
     */
    @TableField("app_id")
    private Long appId;

    /**
     * 回调地址
     */
    @TableField("pay_callback_url")
    private String payCallbackUrl;

    /**
     * 请求数据
     */
    @TableField("request_data")
    private String requestData;

    /**
     * 响应数据
     */
    @TableField("response_data")
    private String responseData;

    /**
     * 回调状态(0:失败 1:成功)
     */
    @TableField("callback_status")
    private Integer callbackStatus;

    /**
     * 当前回调次数
     */
    @TableField("call_count")
    private Integer callCount;

    /**
     * 下次重试时间
     */
    @TableField("next_retry_time")
    private LocalDateTime nextRetryTime;

    @TableField("update_time")
    private LocalDateTime updateTime;

}